const { NAME_OR_PASSWORD_IS_REQUEIRED, NAME_IS_ALREADY_EXIT } = require('../config/error')
const userService = require('../service/user.service')
const md5password = require('../utils/md5-password')
const verifUser = async (ctx, next) => {
    const { name, password } = ctx.request.body
    // console.log(name, password)
    // 1.验证用户名或者密码是否为空
    if (!name || !password) {
        return ctx.app.emit('error', NAME_OR_PASSWORD_IS_REQUEIRED, ctx)
    }

    // 2.验证客户端传过来的user是否可以保存到数据库中
    const users = await userService.findUserByName(name)
    if (users.length) {
        return ctx.app.emit('error', NAME_IS_ALREADY_EXIT, ctx)
    }
    // console.log(users.length)
    // 3.执行下一个中间件
    await next()
}
const handlePassword = async (ctx, next) => {
    // 1.拿到密码
    const { password } = ctx.request.body
    // 2.对密码加密
    ctx.request.body.password = md5password(password)
    // 3.执行下一个中间件
    await next()
}

module.exports = {
    verifUser,
    handlePassword
}